home *** CD-ROM | disk | FTP | other *** search
- 6 poke53280,14:poke53281,6
- 10 dim hf(96),lf(96),pt(9,9),as(255),wt$(9),nd(2,22),mu(99,3)
- 90 p1%=peek(828):p2%=peek(829):p3%=peek(830)
- 99 ft=0
- 100 rem title page
- 110 poke53272,23:print "[159][147]";spc(16);"[215][197][204][195][207][205][197][157][157][157][157][157]to[157][157][157][157][157][157][195]ode[208]ro-64[146]"
- 115 print " ([193] [195]ommodore 64 [212]utorial)":print spc(18);"by"
- 120 print" [211][217][211][212][197][205][211] [205][193][206][193][199][197][205][197][206][212] [193][211][211][207][195][201][193][212][197][211]"
- 125 print spc(11);"3700 [195]omputer [196]rive":print spc(12);"[210]aleigh, [206][195] 27609"
- 130 print" [195]opyright (c) 1983":printtab(10);"'[193]ll [210]ights [210]eserved'"
- 135 print spc(6);"[208]lease [215][193][201][212][146] for program [204][207][193][196][146]"
- 136 ifft=0thengosub3300:gosub9000:ft=1
- 137 ifft=1then fort=0to1500:nextt
- 150 print"[147][159]";:pt$=" [215]elcome to the [195]ode[208]ro-64 demo! ":gosub9410:print
- 151 gosub9300
- 152 print" [217]ou will be seeing some of the more"
- 153 gosub9300
- 154 print" than ";:pt$="160":gosub9410:print" tutorial and instructional"
- 155 gosub9300
- 156 print" screens in this system in the next"
- 157 gosub9300
- 158 print" 5 minutes. "
- 164 print" [195]ode[208]ro-64 teaches you [194][193][211][201][195], [211]prite,"
- 165 gosub9300
- 166 print" and [205]usic programming...";:pt$="visually":gosub9410:print"..."
- 167 gosub9300
- 168 print" [217]ou are in ";:pt$="complete control":gosub9410:print" and use"
- 169 gosub9300
- 170 print" our [205]ain [205]enu to select topics..."
- 171 ml=25:pt$=f7$:gosub9420
- 172 gosub9400
- 200 gosub201:goto245
- 201 poke53272,23:print"[146][159][147][195]ode[208]ro-64 (c) 1983, [211][205][193] [205]ain [205]enu"
- 202 poke54296,0
- 203 print" [207]verview":print" 0 - [213]sing [195]ode[208]ro-64 "
- 204 print" 1 - [195][194][205]-64 [203]eyboard [210]eview "
- 206 print" [194][193][211][201][195][160][212]utorial"
- 207 print" 2 - [201]ntroduction to [194][193][211][201][195] "
- 208 print" 3 - [194][193][211][201][195][160][195]ommands "
- 210 print" 4 - [194][193][211][201][195][160][211]tatements "
- 212 print" 5 - [194][193][211][201][195][160][198]unctions "
- 214 print" [199]raphics & [205]usic"
- 215 print" 6 - [203]eyboard graphics "
- 216 print" 7 - [201]ntroduction to [211][208][210][201][212][197][211] "
- 218 print" 8 - [211][208][210][201][212][197][160][199]enerator "
- 220 print" 9 - [211][208][210][201][212][197][160][196]emonstrator "
- 222 print" [193] - [201]ntroduction to [205][213][211][201][195] "
- 224 print" [194] - [205][213][211][201][195][160][199]enerator "
- 226 print" [195] - [205][213][211][201][195][160][196]emonstrator "
- 228 print" [207]ther [207]ptions":print" [203] - [203]eyword [201]nquiry "
- 230 print" [210] - [210]un [211]ample [208]rograms "
- 233 return
- 245 ml=25:pt$=" [212]hese are the topics we will cover. ":gosub9420
- 250 ns=1152:nl=03:gosub1190:gosub1192:ns=1192:nl=03:gosub1190:gosub1192
- 251 ns=1312:nl=03:gosub1190:gosub1192:ns=1352:nl=03:gosub1190:gosub1192
- 252 ns=1392:nl=22:gosub1190:ns=1432:nl=03:gosub1190:gosub1192
- 253 ns=1552:nl=03:gosub1190:gosub1192:ns=1592:nl=03:gosub1190:gosub1192
- 254 ns=1632:nl=22:gosub1190:ns=1672:nl=25:gosub1190
- 255 ns=1712:nl=03:gosub1190:gosub1192:ns=1752:nl=21:gosub1190
- 256 ns=1792:nl=24:gosub1190:ns=1912:nl=03:gosub1190:gosub1192
- 257 ns=1952:nl=03:gosub1190:gosub1192
- 258 ml=25:pt$=f7$:gosub9420:gosub9400
- 259 gosub2200:gosub3450:gosub3100:gosub2600:gosub900:gosub4000:goto1500
- 400 goto1000
- 900 print"[147][159]"
- 902 print" [212]he [195]ommodore 64 [211]ound [201]nterface"
- 903 gosub9300
- 904 print" [196]evice ";:pt$="([211][201][196])":gosub9410:print" is a unique and quite"
- 905 gosub9300
- 906 print" versatile music synthesizer...but it"
- 907 gosub9300
- 908 print" is ";:pt$="complex and difficult":gosub9410:print" to program."
- 909 gosub9300
- 910 print" [195]ode[208]ro-64 helps you ";:pt$="master":gosub9410:print" sound"
- 911 gosub9300
- 912 print" effects and music generation with the"
- 913 gosub9300
- 914 print" [211][201][196] by letting you ";:pt$="[197]xperiment":gosub9410:print" with"
- 915 gosub9300
- 916 print" the [211][201][196]..."
- 917 gosub9300
- 918 print" [207]ur ";:pt$="[205][213][211][201][195][160][196]emonstrator":gosub9410:print" lets you enter"
- 919 gosub9300
- 920 print" various combinations of [211][201][196] register"
- 921 gosub9300
- 922 print" values and ";:pt$="hear the results":gosub9410:print" by"
- 923 gosub9300
- 924 print" playing a keyboard 'organ'."
- 925 gosub9300
- 926 print" [215]atch and listen now..."
- 927 ml=25:pt$=f7$:gosub9420
- 928 gosub9400
- 1000 poke53272,21:print"[159][147]codepro-64 music demonstrator c.0.4";
- 1001 poke54296,15
- 1002 nd=1:nz=50:ln=3:rem nz=77 for 3 ln
- 1009 print"[146] "
- 1010 print"[146] [144] [144] [194] [144] [144] [144] [194] [144] [144] [194] [144] [144] [146] last"
- 1012 print"[146] [144] [144] [194] [144] [144] [144] [194] [144] [144] [194] [144] [144] [146] note"
- 1014 print"[146] [146]2 [146]3 [194] [146]5 [146]6 [146]7 [194] [146]9 [146]0 [194] [146]- [146]\ [146] "
- 1016 print"[146] [194] [194] [194] [194] [194] [194] [194] [194] [194] [194] [194] [194] [146] "
- 1018 print"[146] q[194]w[194]e[194]r[194]t[194]y[194]u[194]i[194]o[194]p[194]@[194]*[194]^"
- 1020 print"[159]#[146] wf[146] pulse[146] a[146] d[146] s[146] r[146] dur[146] s/m[146] oct[146]"
- 1024 gosub1200
- 1026 print"select line with cursor. play keyboard,"
- 1027 print"or press f2 to edit line or f4 for song.";
- 1028 ml=23:pt$="codepro lets you select & edit sid ":gosub9420
- 1029 ml=24:pt$="parameters and play the keyboard. ":gosub9420
- 1030 print"";:forn=0toln:print"";:nextn
- 1031 print"";right$(str$(ln),1);
- 1040 ad=9:sr=0:pokev1+5,9:pokev1+6,0:pokev1+2,0:pokev1+3,8:ov=60
- 1041 nz=0
- 1042 ty=20:wn=65:wf=64:nx=0:ni=1
- 1043 nx=nx+ni:ifnx>22ornx<1then1060
- 1044 ny=nx-ni:ifny<1thenny=1
- 1045 ifny>22thenny=22
- 1046 pokepz,nd(0,nx):pokepz+1,nd(1,nx):pokepx+nd(2,ny),32:pokepx+nd(2,nx),81
- 1048 nn=ov+nx:pokev1+5,0:pokev1+6,0:pokev1+4,8:pokev1+4,0
- 1050 pokev1,lf(nn):pokev1+1,hf(nn):pokev1+5,ad:pokev1+6,sr
- 1052 pokev1+4,wn:tx=ti+ty
- 1054 iftx>tithen1054
- 1056 pokev1+4,wf:goto1043
- 1060 nz=nz+1:ifnz>1then1140
- 1062 print"";:forn=0toln:print"";:nextn
- 1063 print"[146][159]";right$(str$(ln),1);
- 1064 ln=0:print"";:forn=0toln:print"";:nextn
- 1065 print"";right$(str$(ln),1);
- 1070 ad=9:sr=208:wn=33:wf=32:pokev1+5,9:pokev1+6,208:pokev1+2,0:pokev1+3,0
- 1072 ty=10:nx=22:ni=-1:ov=36
- 1074 goto1044
- 1100 rem
- 1135 rem flash -play keyboard-
- 1136 ns=1849:nl=14:gosub1190
- 1139 goto1030
- 1140 rem
- 1142 ml=25:pt$="press f7 to continue ":gosub9420
- 1149 gosub9400:return
- 1190 forn5=0tonl-1:n6=ns+n5:poken6,peek(n6)+128:nextn5:fort=0to250:nextt:return
- 1192 forn5=0tonl-1:n6=ns+n5:poken6,peek(n6)-128:nextn5:fort=0to100:nextt:return
- 1194 forn5=0tonl-1:n6=ns+n5:poken6,peek(n6)+128:nextn5:fort=0to2000:nextt:return
- 1196 forn5=0tonl-1:n6=ns+n5:poken6,peek(n6)-128:nextn5:fort=0to20:nextt:return
- 1199 stop
- 1200 print"0 33(s) 0, 0 0 9 12 12 10 s 3"
- 1201 print"1 33(s) 0, 0 0 9 12 12 20 m 5"
- 1202 print"2 17(t) 0, 0 0 9 12 12 20 m 5"
- 1203 print"3 65(p) 8, 0 0 9 12 12 20 m 5"
- 1204 print"4 129(n) 0, 0 0 9 12 12 20 m 2"
- 1205 print"5 33(s) 0, 0 4 10 8 10 20 m 5"
- 1206 print"6 0 0, 0 0 0 0 0 0 s 0"
- 1207 print"7 0 0, 0 0 0 0 0 0 s 0"
- 1208 print"8 0 0, 0 0 0 0 0 0 s 0"
- 1209 print"9 0 0, 0 0 0 0 0 0 s 0"
- 1299 return
- 1500 print"[147][159] [195]ode[208]ro-64 is only $59.95 (plus $3.00
- 1502 [153]" shipping)! atnnd we offer a 10-day "
- 1504 [153]" moneyback guarantee. (NULL)rder now by "
- 1506 [153]" calling (NULL)(NULL)(NULL)(NULL) asc(NULL)valval:"
- 1508 [153]" 1-800-762-7874 openwait"
- 1510 [153]" and use your (NULL)len/(NULL)right$(NULL)atn card. (NULL)r send "
- 1512 [153]" $62.95 to:"
- 1514 [153]" open (NULL)(NULL)(NULL)(NULL)val(NULL)(NULL) (NULL)atn(NULL)atnchr$val(NULL)val(NULL)(NULL) atn(NULL)(NULL)(NULL)lenright$atn(NULL)val(NULL) "
- 1516 [153]" 3700 lenomputer str$rive "
- 1518 [153]" (NULL)aleigh, (NULL)len 27609 wait"
- 1520 [153]" (NULL)emember, you can evaluate lenode(NULL)ro-64 ";
- 1522 [153]" for a full 10 days at no risk with our ";
- 1524 [153]" moneyback quarantee. "
- 1549 [137]1549
- 2200 [153]"loadopen"
- 2201 [153]" (NULL)ur peekatn(NULL)right$len tutorial covers ";:pt$[178]"all":[141]9410:[153]" peekatn(NULL)right$len"
- 2202 [141]9300:[153]" language commands, statements, and":[141]9300
- 2204 [153]" functions. (NULL)ou choose a topic from":[141]9300
- 2206 [153]" the ";:pt$[178]"main menu":[141]9410:[153]" or from ";
- 2208 pt$[178]"topic menus":[141]9410:[153]"..."
- 2210 ml[178]25:pt$[178]f7$:[141]9420
- 2218 [141]9400
- 2300 [143] statements menu
- 2302 [151]53272,23:[153]"openloadwaitlenode(NULL)ro-64 peekatn(NULL)right$len (NULL)tatements 4.0.0";
- 2305 [153] " 0 - left$ow to (NULL)se the (NULL)(NULL)atn(NULL)val(NULL)val(NULL)(NULL)(NULL)closetutorial"
- 2306 [153] " 1 - len(NULL)(NULL)(NULL)(NULL)(NULL)(NULL) wait (chr$(NULL)(NULL)(NULL),chr$(NULL)(NULL)(NULL)peek,(NULL)(NULL),(NULL)(NULL)(NULL),(NULL)(NULL)(NULL))
- 2308 print " 2 - [204][207][207][208][211] [146] ([198][207][210]...[206][197][216][212])"
- 2310 print " 3 - [195][207][206][196][201][212][201][207][206][193][204][211] [146] ([201][198]...[212][200][197][206])"
- 2312 print " 4 - [196][197][198][201][206][201][212][201][207][206] ([196][201][205], [196][193][212][193], [196][197][198][160][198][206])"
- 2314 print "[160]5 - [201][206][208][213][212] ([199][197][212],[201][206][208][213][212],[210][197][193][196],[210][197][211][212][207][210][197])"
- 2316 print " 6 - [207][213][212][208][213][212] ([208][210][201][206][212], [195][205][196])"
- 2318 print" 7 - [198][201][204][197] [201]/[207] ([207][208][197][206],[195][204][207][211][197],[199][197][212]#,[201][206][208][213][212]#,":print" [208][210][201][206][212]#)"
- 2319 print " 8 - [207][212][200][197][210] ([195][204][210], [197][206][196], [208][207][203][197], [210][197][205], [211][212][207][208])"
- 2320 ml=24:pt$="[204]et's watch some of the [204][207][207][208][211] tutorial":gosub9420
- 2322 forn=0to0:ns=1304:nl=24:gosub1190:nextn
- 2329 ml=25:pt$=f7$:gosub9420
- 2330 gosub9400
- 2350 print"[147][159]"
- 2352 print" [217]ou scroll through text screens at":gosub9300
- 2354 print" ";:pt$="your own pace":gosub9410:print" to study a topic. [212]here"
- 2355 gosub9300
- 2356 print" are numerous ";:pt$="interactive":gosub9410:print" screens that"
- 2357 gosub9300
- 2358 print" show you ";:pt$="code examples":gosub9410:print"."
- 2359 gosub9300
- 2362 print" [195]ertain topics use ";:pt$="[194]asic[214]iew graphics":gosub9410:print
- 2363 gosub9300
- 2364 print" to help you grasp concepts ";:pt$="visually":gosub9410:print"..."
- 2365 gosub9300
- 2366 print" [215]atch the next screen carefully..."
- 2367 gosub9300
- 2368 ml=25:pt$=f7$:gosub9420
- 2369 gosub9400
- 2400 rem basicview
- 2405 li=50:in=10:up=20:li$="50":in$="10":up$="20"
- 2410 poke 53272,21
- 2412 print "[147][159]codepro-64 basicview [146] 4.2.3"
- 2414 print"example statements flowchart [146]";
- 2416 gosub 2510:gosub2511:gosub2513:gosub2514:gosub2515
- 2418 print "";
- 2420 print " current values: ":print" i = .. [146]"
- 2422 print " j = .. [146]"
- 2424 ml=24:pt$=" watch as we demo the for-next loop. ":gosub9420
- 2425 print"";spc(28);"[170]";
- 2426 gosub2516:gosub2520:gosub2530:gosub2540:gosub2550:gosub2560:gosub2570
- 2427 print"";spc(28);"[170]";
- 2428 gosub2580:gosub2590
- 2429 print"";spc(28);"[170]";
- 2430 gosub2505
- 2435 print"";:gosub2516:gosub2510
- 2440 gosub2505
- 2445 print"[146]";:gosub2516:gosub2510:print"";:gosub2511:gosub2520
- 2446 i=in:j=0:gosub2595
- 2450 gosub2505
- 2455 print"[146]";:gosub2511:gosub2520:gosub2530:gosub2570
- 2456 print"";:gosub2513:gosub2540
- 2457 j=2*i:gosub2595
- 2460 gosub2505
- 2466 print "[146]";:gosub2513:gosub2540
- 2467 print"";:gosub2514:gosub2550
- 2468 i=i+up:gosub2595
- 2470 gosub2505
- 2475 print"[146]";:gosub2514:gosub2550:print"";:gosub2511:gosub2530
- 2478 ifi>lithengoto2490
- 2480 gosub2505
- 2485 print"[146]";:gosub2511:gosub2530:print"";:gosub2570:print"[146]";:gosub2585
- 2486 goto2455
- 2490 rem all done
- 2493 gosub2505
- 2499 print"[146]";:gosub2530:gosub2511:print"";:gosub2560:gosub2590:gosub2515
- 2500 rem all done
- 2501 print "";
- 2502 ml=25:pt$=" press f7 to continue ":gosub9420
- 2504 gosub9400:poke53272,23:return
- 2505 for t=0to1000:nextt:return
- 2510 print " 05 ...";:return
- 2511 print " 10 for i=";in$;" to ";li$;"[157][157][157][157][157][157][157][157][157][157][157][157]";"step ";up$;
- 2512 return
- 2513 print " 20 j=2*i";:return
- 2514 print " 30 next i";:return
- 2515 print " 40 ...";:return
- 2516 print"";spc(15);" entry--->";:return
- 2517 return
- 2519 return
- 2520 print"";spc(25);"[207][183][183][183][183][183][183][208]";:print"";spc(25);"[180] i=";in$;" [170]";
- 2522 print"";spc(25);"[204][175][175][175][175][175][175][186]";
- 2529 return
- 2530 print"";spc(28);"[206][205]";"[157][157][157][206]i>[205][157][157][157][157][157][206] ";li$;" [205]";
- 2532 print"[157][157][157][157][157][157][205] ?? [206][157][157][157][157][157][205] [206][157][157][157][205][206]";
- 2539 return
- 2540 print"";
- 2541 printspc(25);"[207][183][183][183][183][183][183][208]";:print"[157][157][157][157][157][157][157][157]";"[180]j=2*i [170]";
- 2542 print"[157][157][157][157][157][157][157][157]";"[204][175][175][175][175][175][175][186]";
- 2549 return
- 2550 print"";
- 2551 printspc(25);"[207][183][183][183][183][183][183][208]";:print"[157][157][157][157][157][157][157][157]";"[180]i=i+";up$;"[170]";
- 2552 print"[157][157][157][157][157][157][157][157]";"[204][175][175][175][175][175][175][186]";
- 2559 return
- 2560 print "";spc(33);"yes[157][157][157][157][195][195]>";
- 2569 return
- 2570 print "";spc(24);"no";
- 2579 return
- 2580 print "";spc(21);"[176][195][195]>[157][157][157][157][194][157][194][157][194][157][194][157][194][157][194][157][194][157][194][157][194][157][173][195][195][195][195]";
- 2581 return
- 2585 tt=050
- 2586 print"";spc(21);"[209][195][195][195][195]";
- 2587 for t=1tott:nextt:print"[159][157][157][157][157][157][173][195][195][195][195]";"[145][157][157][157][157][157][209]";:fort=1tott:nextt:
- 2588 for t2=1to8:print"[159][157][194][145][157][209]";:fort=1tott:nextt:nextt2
- 2589 print"[157][159][194][145][157][176][209][195]>";:for t=1tott:nextt:print"[159][157][157][157][157][176][195][195]>";:return
- 2590 print"";spc(35);"exit";
- 2591 return
- 2595 i$=str$(i):j$=str$(j)
- 2596 print "";
- 2597 print " current values: ":print" i = ";i$;" [146]";
- 2598 print "";
- 2599 print " j = ";j$;" [146]";:return
- 2600 rem music generator demo
- 2601 goto2800
- 2602 gosub 2700:zn=7
- 2604 rem ns=56216:fornl=0to19:pokens+nl,1:nextnl
- 2605 remns=1946:nl=19:gosub1194
- 2680 gosub9400
- 2689 poke53272,23:return
- 2690 forn=0to2:pokens+n,peek(ns+n)+128:nextn
- 2691 ns=ns-40:forn=0to2:pokens+n,peek(ns+n)+128:nextn:ns=ns+40:
- 2692 return
- 2694 rem geta$:ifa$=""then2694
- 2695 forn=0to2:pokens+n,peek(ns+n)-128:nextn
- 2696 ns=ns-40:forn=0to2:pokens+n,peek(ns+n)-128:nextn:ns=ns+40:fort=0to250:nextt
- 2697 return
- 2699 stop
- 2700 rem music staff
- 2701 poke 53272,21
- 2702 print"[159][147]codepromusic generatorb.2.5";
- 2704 for i=1to5
- 2705 print "[170][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][180]";
- 2706 ifi<5thenprint"[170]";spc(38);"[180]";
- 2707 next i
- 2708 print:print" "
- 2710 print" press space bar to play note [146][159]"
- 2712 print" note ..[146] octave .[146] duration .[146]"
- 2714 print" hi ...[146] lo ...[146] loop ....[146] "
- 2720 gosub2790
- 2722 print"";np$(1);"";np$(1);"[145][145][145][145]";np$(8);
- 2724 print"";np$(8);"[145]";np$(10);"";np$(10);"";np$(8);"[146]";
- 2726 print"";
- 2727 print" note number ..[146] max note ..[146]"
- 2728 print"move note up or down, left or right with ";
- 2730 print" cursor keys, then hit return.[146]"
- 2732 ml=23:pt$="the codepro music generator lets you ":gosub9420
- 2734 ml=24:pt$="create, edit, play & save simple tunes":gosub9420
- 2735 ml=25:pt$=" press f7 to continue ":gosub9420
- 2739 return
- 2757 print" hi ";hi$;"[146] lo ";lo$;
- 2786 return
- 2790 np$(01)="[195][209][195][145][157][157][157] [170] [157][157][157]"
- 2792 np$(03)=" [209] [145][157][157][157][195] [180][157][157][157]"
- 2793 np$(05)="[195][209][195][145][157][157][157] [170] [157][157][157]"
- 2794 np$(06)=" [209] [145][157][157][157][195] [180][157][157][157]"
- 2795 np$(08)="[195][209][195][145][157][157][157] [170] [157][157][157]"
- 2796 np$(10)=" [209] [145][157][157][157][195] [180][157][157][157]"
- 2798 nl$(01)="c ":nl$(08)="g ":nl$(10)="a "
- 2799 return
- 2800 print"[147][159]"
- 2802 print" [195]ode[208]ro-64 teaches you all about"
- 2803 gosub9300
- 2804 print" ";:pt$="[205][213][211][201][195][160][208]rogramming":gosub9410:print" on the [195]ommodore 64."
- 2805 gosub9300
- 2806 print" [217]ou get instructional text and some"
- 2807 gosub9300
- 2810 print" interactive examples in the ";:pt$="[201]ntro-":gosub9415:print
- 2812 print" ";:pt$="duction to [205][213][211][201][195]":gosub9410:print" tutorial. [212]hen you"
- 2813 gosub9300
- 2814 print" get to compose tunes using our"
- 2815 gosub9300
- 2816 print" ";:pt$="[205][213][211][201][195][160][199]enerator":gosub9410:print". [217]ou enter notes by"
- 2817 gosub9300
- 2818 print" moving a 'note-cursor' on the scale"
- 2819 gosub9300
- 2820 print" with the cursor control keys..."
- 2821 gosub9300
- 2822 print" [217]ou can ";:pt$="play":gosub9410:print" and ";:pt$="re-edit"
- 2824 gosub9410:print" your song."
- 2825 gosub9300
- 2826 print" [193]nd you can ";:pt$="save it to disk!":gosub9410:print"..."
- 2827 gosub9300
- 2828 print" [215]atch as we show you how the "
- 2829 gosub9300
- 2830 print" [195]ode[208]ro-64 [205][213][211][201][195] [199]enerator works..."
- 2832 ml=25:pt$=f7$:gosub9420:gosub9400
- 2834 goto2602
- 3100 print"[147][159]"
- 3102 print" [201]n our ";:pt$="[211][208][210][201][212][197][160][196]emonstrator":gosub9410:print" we use"
- 3103 gosub9300
- 3104 print" interactive graphics to help you"
- 3105 gosub9300
- 3106 print" learn about ";:pt$="[211][208][210][201][212][197][160][208]rogramming":gosub9410:print"..."
- 3107 gosub9300
- 3108 print" [212]he next screen is one of many in our"
- 3109 gosub9300
- 3110 print" [211][208][210][201][212][197] [196]emonstrator topic which helps"
- 3111 gosub9300
- 3112 print" you learn by ";:pt$="visual examples":gosub9410:print"..."
- 3113 ml=25:pt$=f7$:gosub9420
- 3114 gosub9400
- 3200 rem x/y 3 sprites
- 3202 print"[159][147]";spc(35);"9.3.3";:gosub3406
- 3203 print"";spc(21);"[206]ow, let's watch[146]":printspc(21);"all 3 sprites[146] go"
- 3204 printspc(21);"through a loop":printspc(21);"at the same time."
- 3210 printspc(21);"[206]ote that we use an";:printspc(21);"increment[146] of 3 [146]"
- 3212 printspc(21);"as we move thru the";:printspc(21);"loop."
- 3215 printspc(21);"[200]ere are the values";:printspc(21);"in the [216] and [217] regs";
- 3216 printspc(21);"as the sprites move";:printspc(21);"around the screen."
- 3217 printspc(21);"[211]prite[146] [216]-reg[146] [217]-reg[146]"
- 3218 printspc(21);" 0 050 055"
- 3219 printspc(21);" 1 025 100"
- 3220 printspc(21);" 2 025 055"
- 3225 pokev+0,50:pokev+1,55:pokev+2,25:pokev+3,100:pokev+4,25:pokev+5,55
- 3230 pokev+0,50:pokev+1,55:pokev+2,25:pokev+3,100:pokev+4,25:pokev+5,55
- 3231 z=0:z2=0:pokev+21,7:fort=0to1000:nextt
- 3232 ml=23:pt$="[215]atch as the [211][208][210][201][212][197][211] move thru a loop.":gosub9420
- 3239 z=z+3:if z>130 thenz=0:z2=z2+1:ifz2>0then3268
- 3240 x=z+25:y=z+55
- 3242 x$=str$(x):x1$=mid$(x$,2,1):x2$=mid$(x$,3,1):x3$=right$(x$,1)
- 3243 if x<100thenx2$=x1$:x1$="0"
- 3244 y$=str$(y):y1$=mid$(y$,2,1):y2$=mid$(y$,3,1):y3$=right$(y$,1)
- 3245 if y<100theny2$=y1$:y1$="0"
- 3246 x1=asc(x1$):x2=asc(x2$):x3=asc(x3$)
- 3247 y1=asc(y1$):y2=asc(y2$):y3=asc(y3$)
- 3250 pokec4,y1:pokec5,y2:pokec6,y3
- 3252 poke d1,x1:poked2,x2:poked3,x3
- 3254 poke e1,x1:pokee2,x2:pokee3,x3:pokee4,y1:pokee5,y2:pokee6,y3
- 3263 pokev+0,50:pokev+1,y
- 3264 pokev+2,x:pokev+3,100
- 3265 pokev+4,x:pokev+5,y
- 3266 goto3239
- 3267 gosub9100:goto3200
- 3268 ml=25:pt$=f7$:gosub9420
- 3269 gosub9400:pokev+21,0:return
- 3300 rem init
- 3306 v=53248
- 3307 pokev+29,0:pokev+23,0
- 3308 pokev+21,0:pokev+16,0
- 3310 for t=54272to54296:poket,0:nextt
- 3330 for j=1to63:readn:poke831+j,n:nextj
- 3335 poke2040,13:pokev+39,1
- 3340 for j=1to63:readn:poke895+j,n:nextj
- 3345 poke2041,14:pokev+40,14
- 3350 for j=1to63:readn:poke959+j,n:nextj
- 3355 poke2042,15:pokev+41,3
- 3356 for j=1to63:readn:poke703+j,n:nextj
- 3357 poke2043,11:pokev+42,1
- 3360 sm=1024:cm=55296:c1=sm+749:c2=c1+1:c3=c2+1:c4=c3+4:c5=c4+1:c6=c5+1
- 3362 d1=sm+789:d2=d1+1:d3=d2+1:d4=d3+4:d5=d4+1:d6=d5+1
- 3364 e1=sm+829:e2=e1+1:e3=e2+1:e4=e3+4:e5=e4+1:e6=e5+1
- 3380 data255,255,255,128,0,1,128,0,1,128,60,1,128,255,1,129,195,129
- 3382 data131,129,193,131,129,193,131,129,193,131,129,193,131,129,193,131,129,193
- 3384 data131,129,193,131,129,193,131,129,193,129,195,129,128,255,1,128,60,1
- 3386 data128,0,1,128,0,1,255,255,255
- 3388 data255,255,255,128,0,1,128,0,1,128,60,1,128,124,1,128,252,1,128,28,1
- 3390 data128,28,1,128,28,1,128,28,1,128,28,1,128,28,1,128,28,1,128,28,1,128,28,1
- 3392 data128,28,1,129,255,193,129,255,193,128,0,1,128,0,1,255,255,255
- 3394 data255,255,255,128,0,1,128,0,1,128,0,1,128,255,1,129,195,129,131,129,193
- 3396 data131,128,193,131,129,193,128,3,193,128,7,129,128,15,1,128,30,1
- 3397 data128,60,1,128,120,1,129,240,1,131,255,193,131,255,193,128,0,1,128,0,1
- 3398 data 255,255,255
- 3400 data 255,255,255,128,0,1,128,0,1,128,0,1,128,24,1,128,24,1,128,24,1
- 3402 data 128,60,1,128,60,1,128,126,1,128,126,1,128,255,1,133,60,161,134,60,97
- 3404 data 142,24,113,142,24,113,132,0,33,132,0,33,128,0,1,128,0,1,255,255,255
- 3405 return
- 3406 print"....5...10...15...20 [211][208][210][201][212][197] [196][197][205][207]"
- 3408 print"";spc(19);".[157].[157].[157]5[157].[157].[157].[157]1[157]0[157].[157].[157].[157]1[157]5[157].[157].[157].[157]2[157]0
- 3410 [153]"....5...10...15...20":[142]
- 3450 [153]"loadopen"
- 3452 [153]" (NULL)ou just saw an example of lenode(NULL)ro's"
- 3453 [141]9300
- 3454 [153]" unique ";:pt$[178]"peekasic(NULL)iew":[141]9410:[153]" graphics as used in"
- 3455 [141]9300
- 3456 [153]" the ";:pt$[178]"peekatn(NULL)right$lenclose(NULL)tatements (NULL)utorial":[141]9410:[153]"..."
- 3457 [141]9300
- 3458 [153]" (NULL)o help you with ";:pt$[178]"creating":[141]9410:[141]9300
- 3459 [153]" (NULL)(NULL)(NULL)right$(NULL)val(NULL) for":[141]9300
- 3460 [153]" use in your own programs, lenode(NULL)ro-64"
- 3461 [141]9300
- 3462 [153]" provides a ";:pt$[178]"(NULL)(NULL)(NULL)right$(NULL)valclosechr$enerator":[141]9410:[153]"..."
- 3463 [141]9300
- 3464 [153]" (NULL)ou enter (NULL)'s on the generator screen"
- 3465 [141]9300
- 3466 [153]" to ";:pt$[178]"draw your sprite":[141]9410:[153]". lenode(NULL)ro-64 will"
- 3467 [141]9300
- 3468 [153]" then create the sprite data and show"
- 3469 [141]9300
- 3470 [153]" your sprite on the screen...(you can"
- 3471 [141]9300
- 3472 [153]" also ";:pt$[178]"save your sprite":[141]9410:[153]" to disk!)..."
- 3473 [141]9300
- 3474 [153]" ascirst you will see a completed sprite"
- 3475 [141]9300
- 3476 [153]" definition, with the (NULL)'s entered on"
- 3477 [141]9300
- 3478 [153]" the (NULL)(NULL)(NULL)right$(NULL)valclosechr$enerator screen..."
- 3479 ml[178]25:pt$[178]f7$:[141]9420
- 3480 [141]9400
- 3500 [143] sprite generator
- 3502 [153]"loadopenwait8.1.0 (NULL)(NULL)(NULL)right$(NULL)val chr$val(NULL)val(NULL)atn(NULL)(NULL)(NULL) ---str$atn(NULL)atn---"
- 3504 [153]"(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL) 0,0,0"
- 3505 [153]"(NULL)......................(NULL) 0,0,0"
- 3506 [153]"(NULL)......................(NULL) 0,0,0"
- 3507 [153]"(NULL)......................(NULL) 0,0,0"
- 3508 [153]"(NULL)..........(NULL)(NULL)..........(NULL) 0,0,0"
- 3509 [153]"(NULL)..........(NULL)(NULL)..........(NULL) 0,0,0"
- 3510 [153]"(NULL)..........(NULL)(NULL)..........(NULL) 0,0,0"
- 3511 [153]"(NULL).........(NULL)(NULL)(NULL)(NULL).........(NULL) 0,0,0"
- 3512 [153]"(NULL).........(NULL)(NULL)(NULL)(NULL).........(NULL) 0,0,0"
- 3513 [153]"(NULL)........(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)........(NULL) 0,0,0"
- 3514 [153]"(NULL)........(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)........(NULL) 0,0,0"
- 3515 [153]"(NULL).......(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL).......(NULL) 0,0,0"
- 3516 [153]"(NULL)....(NULL).(NULL)..(NULL)(NULL)(NULL)(NULL)..(NULL).(NULL)....(NULL) 0,0,0"
- 3517 [153]"(NULL)....(NULL)(NULL)...(NULL)(NULL)(NULL)(NULL)...(NULL)(NULL)....(NULL) 0,0,0"
- 3518 [153]"(NULL)...(NULL)(NULL)(NULL)....(NULL)(NULL)....(NULL)(NULL)(NULL)...(NULL) 0,0,0"
- 3519 [153]"(NULL)...(NULL)(NULL)(NULL)....(NULL)(NULL)....(NULL)(NULL)(NULL)...(NULL) 0,0,0"
- 3520 [153]"(NULL)....(NULL)............(NULL)....(NULL) 0,0,0"
- 3521 [153]"(NULL)....(NULL)............(NULL)....(NULL) 0,0,0"
- 3522 [153]"(NULL)......................(NULL) 0,0,0"
- 3523 [153]"(NULL)......................(NULL) 0,0,0"
- 3524 [153]"(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL) 0,0,0"
- 3525 [153]" 5 10 15 20 24"
- 3526 ml[178]25:pt$[178]f7$:[141]9420
- 3527 [141]9400
- 3550 [153]"load"
- 3552 [153]" (NULL)ow lenode(NULL)ro-64 will ";
- 3554 pt$[178]"calculate the data":[141]9410
- 3555 [141]9300
- 3556 [153]" needed to ";:pt$[178]"define your (NULL)(NULL)(NULL)right$(NULL)val ":[141]9410:[153]" and then";
- 3557 [141]9300
- 3559 [153]" display the data and ";:pt$[178]"your (NULL)(NULL)(NULL)right$(NULL)val":[141]9410:[153]"..."
- 3560 ml[178]25:pt$[178]f7$:[141]9420
- 3569 [141]9400
- 3602 [153]"loadopenwait8.1.0 (NULL)(NULL)(NULL)right$(NULL)val chr$val(NULL)val(NULL)atn(NULL)(NULL)(NULL) ---str$atn(NULL)atn---"
- 3604 [153]"(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL) 255,255,255"
- 3605 [153]"(NULL)......................(NULL) 128,0,1"
- 3606 [153]"(NULL)......................(NULL) 128,0,1"
- 3607 [153]"(NULL)......................(NULL) 128,0,1"
- 3608 [153]"(NULL)..........(NULL)(NULL)..........(NULL) 128,24,1"
- 3609 [153]"(NULL)..........(NULL)(NULL)..........(NULL) 128,24,1"
- 3610 [153]"(NULL)..........(NULL)(NULL)..........(NULL) 128,24,1"
- 3611 [153]"(NULL).........(NULL)(NULL)(NULL)(NULL).........(NULL) 128,60,1"
- 3612 [153]"(NULL).........(NULL)(NULL)(NULL)(NULL).........(NULL) 128,60,1"
- 3613 [153]"(NULL)........(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)........(NULL) 128,126,1"
- 3614 [153]"(NULL)........(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)........(NULL) 128,126,1"
- 3615 [153]"(NULL).......(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL).......(NULL) 128,255,1"
- 3616 [153]"(NULL)....(NULL).(NULL)..(NULL)(NULL)(NULL)(NULL)..(NULL).(NULL)....(NULL) 133,60,161"
- 3617 [153]"(NULL)....(NULL)(NULL)...(NULL)(NULL)(NULL)(NULL)...(NULL)(NULL)....(NULL) 134,60,97"
- 3618 [153]"(NULL)...(NULL)(NULL)(NULL)....(NULL)(NULL)....(NULL)(NULL)(NULL)...(NULL) 142,24,113"
- 3619 [153]"(NULL)...(NULL)(NULL)(NULL)....(NULL)(NULL)....(NULL)(NULL)(NULL)...(NULL) 142,24,113"
- 3620 [153]"(NULL)....(NULL)............(NULL)....(NULL) 132,0,33"
- 3621 [153]"(NULL)....(NULL)............(NULL)....(NULL) 132,0,33"
- 3622 [153]"(NULL)......................(NULL) 128,0,1"
- 3623 [153]"(NULL)......................(NULL) 128,0,1"
- 3624 [153]"(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL) 255,255,255"
- 3625 [153]" 5 10 15 20 24"
- 3626 [151] 53254,62:[151]53255,125:[151]53264,08:[151]53269,8
- 3627 ml[178]25:pt$[178]f7$:[141]9420
- 3628 [141]9400
- 3639 [151]53269,0
- 3648 [142]
- 4000 [153]"load":[151]53272,23
- 4002 [153]" (NULL)e have only hit the highlights of"
- 4003 [141]9300
- 4004 [153]" lenode(NULL)ro-64 in this demo. (NULL)here are"
- 4005 [141]9300
- 4006 [153]" ";:pt$[178]"sixteen":[141]9410:[153]" peekatn(NULL)right$len programs in the system"
- 4007 [141]9300
- 4008 [153]" (including ";:pt$[178]"two sample programs":[141]9410:[153]" for"
- 4009 [141]9300
- 4010 [153]" your own use)."
- 4011 [141]9300
- 4012 [153]" lenode(NULL)ro-64 comes with a ";:pt$[178]"140-page":[141]9415:[153]
- 4014 [153]" ";:pt$[178]"reference manual":[141]9410:[153]" and has these other"
- 4015 [141]9300
- 4016 [153]" features not shown in the demo:"
- 4017 [141]9300
- 4018 [153]" - (NULL)eyboard review - right$ntro to peekatn(NULL)right$len"
- 4019 [141]9300
- 4020 [153]" - (NULL)eyboard chr$raphics - (NULL)(NULL)(NULL)right$(NULL)val right$ntro"
- 4021 [141]9300
- 4022 [153]" - (NULL)usic right$ntro - (NULL)eyword (NULL)elect"
- 4023 [141]9300
- 4024 [153]" - peekatn(NULL)right$lencloselenommands - peekatn(NULL)right$len ascunctions";
- 4025 [141]9300
- 4026 [153]" - (NULL)ample (NULL)(NULL)(NULL)right$(NULL)val program and file"
- 4027 [141]9300
- 4028 [153]" - (NULL)ample (NULL)(NULL)(NULL)right$len program and file"
- 4029 [141]9300
- 4030 [153]" right$f you ";:pt$[178]"are serious":[141]9410:[153]" about learning to"
- 4031 [141]9300
- 4032 [153]" program your lenommodore 64 ";:pt$[178]"you owe it":[141]9415:[153]
- 4034 [153]" ";:pt$[178]"to yourself":[141]9410:[153]" to try lenode(NULL)ro-64."
- 4035 [141]9300
- 4036 ml[178]25:pt$[178]f7$:[141]9420
- 4038 [141]9400
- 4040 [142]
- 9000 [143] init
- 9002 qo$[178][199](34):f7$[178]" (NULL)ress f7 to continue "
- 9004 [151]53272,23:v[178]53248:[151]v[170]21,0
- 9006 [151]53280,14:[151]53281,6
- 9010 [129]n[178]0[164]11:[135]nt:[129]oc[178]7[164]0[169][171]1:[139]oc[179]7[167]nt[178]nt[173]2
- 9012 hf%[178]nt[173]256:lf%[178]nt[171]hf%[172]256:nn[178]oc[172]12[170]n[170]1:hf(nn)[178]hf%:lf(nn)[178]lf%:[130]oc:[130]n
- 9014 [131] 34334,36376,38539,40830,43258,45830,48556,51443
- 9016 [131] 54502,57743,61176,64814
- 9018 s[178]54272:[129]n[178]0[164]28:[151]s[170]n,0:[130]n
- 9020 v1[178]s:v2[178]s[170]7:v3[178]s[170]14:l1[178]v1:l2[178]v2:l3[178]v3:h1[178]l1[170]1:h2[178]l2[170]1:h3[178]l3[170]1
- 9040 [129]n[178]1[164]22:[135]nd(0,n),nd(1,n),nd(2,n):[130]n:px[178]1070:pz[178]1260
- 9042 [131]3,32,1,3,35,2,4,32,3,4,35,4,5,32,5,6,32,7,6,35,8,7,32,9,7,35,10,1,32,11
- 9043 [131]1,35,12,2,32,13,3,32,15,3,35,16,4,32,17,4,35,18,5,32,19,6,32,21
- 9044 [131]6,35,22,7,32,23,7,35,24,1,32,25
- 9099 [142]
- 9100 [129]t[178]54272[164]54296:[151]t,0:[130]t
- 9110 [151] 54296,15:[151]54277,0:[151]54278,240:[151]54273,34:[151]54272,75
- 9120 [151] 54276,17:[129]t[178]1[164]50:[130]t:[151]54276,16:[142]
- 9300 [129]t[178]0[164]050:[130]t:[142]
- 9302 fs[178]0
- 9305 [129] j[178]1[164]tc
- 9310 [161] a$:[139] a$[178]""[167] 9310
- 9315 a[178][198](a$)
- 9320 [139] a[177]132 [175] a[179]141[167][145]a[171]132[137]9390,9390,9390,9390,9350,9350,9350,9390
- 9325 nx$[178][202](tx$,j,1):nx[178][198](nx$)
- 9330 [139]a[178]32[176]a[178]160[176]a[178]nx[167]9370
- 9335 [139](nx[177]192[175]nx[179]219)[175]nx[171]128[178]a[167]9370
- 9340 [139](nx[177]64[175]nx[179]91)[175]nx[170]128[178]a[167]9370
- 9350 [141]9100:[137]9310:[143] error
- 9370 [153]"cmd";nx$;".wait";:[130]j
- 9372 [153] "cmdwait ";
- 9375 [142]
- 9390 fs[178]1
- 9395 [142]
- 9400 [161]a$:[139]a$[178]""[167]9400
- 9401 [139]a$[178]"let"[167][142]
- 9402 [137]9400
- 9410 pc[178][195](pt$):[153]"";
- 9412 [129]pn[178]1[164]pc:[153][202](pt$,pn,1);:[129]t[178]0[164]005:[130]t:[130]pn:[141]9300
- 9414 [153]"wait";:[142]
- 9415 pc[178][195](pt$):[153]"";
- 9417 [129]pn[178]1[164]pc:[153][202](pt$,pn,1);:[129]t[178]0[164]050:[130]t:[130]pn
- 9419 [153]"wait";:[142]
- 9420 [153]"";:[129]n[178]1[164]ml[171]1:[153]"";:[130]n
- 9421 pc[178][195](pt$):[153]" ";:[129]pn[178]1[164]38:[153]" ";:[130]pn
- 9422 [129]pn[178]1[164]pc:ps[178]pc[171]pn[170]1:[129]pm[178]1[164]pn:[153]"cmd";:[130]pm:[153][202](pt$,1,pn);
- 9424 [129]t[178]0[164]025:[130]t:[130]pn:[153]"waitopen";:[142]
-